package org.semanticflash.rdf.utils
{
	import com.bigflexlib.core.dependency.DependencySpec;
	import com.bigflexlib.core.dependency.MXMLObjectWithDependenciesBase;
	
	import org.semanticflash.rdf.values.IRI;
	import org.semanticflash.rdf.values.RDFValue;

	public class SPOTuple extends MXMLObjectWithDependenciesBase
	{
		
		/////////////////////////////////////////////////////////////
		/////////////////////////// s ///////////////////////////////
		/////////////////////////////////////////////////////////////
		
		private var sSpec:DependencySpec = new DependencySpec( "s", "sChanged" );
		[Bindable("sChanged")]
		public function get s( ):RDFValue
		{
			return dh.g( sSpec ) as RDFValue;		
		}		
		public function set s( v:RDFValue ):void
		{
			dh.s( sSpec, v );
		}		
		
		
		/////////////////////////////////////////////////////////////
		/////////////////////////// p ///////////////////////////////
		/////////////////////////////////////////////////////////////
		
		private var pSpec:DependencySpec = new DependencySpec( "p", "pChanged" );
		[Bindable("pChanged")]
		public function get p( ):IRI
		{
			return dh.g( pSpec ) as IRI;		
		}		
		public function set p( v:IRI ):void
		{
			dh.s( pSpec, v );
		}		

		
		
		/////////////////////////////////////////////////////////////
		/////////////////////////// o ///////////////////////////////
		/////////////////////////////////////////////////////////////
		
		private var oSpec:DependencySpec = new DependencySpec( "o", "oChanged" );
		[Bindable("oChanged")]
		public function get o( ):RDFValue
		{
			return dh.g( oSpec ) as RDFValue;		
		}		
		public function set o( v:RDFValue ):void
		{
			dh.s( oSpec, v );
		}		
		
	}
}